Fix DOM0_PHYSINFO to return correct value for total
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Wed, 5 Oct 2005 13:06:23 +0000 (14:06 +0100)
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Wed, 5 Oct 2005 13:06:23 +0000 (14:06 +0100)
system memory.

Signed-off-by: Keir Fraser <keir@xensource.com>
xen/arch/x86/dom0_ops.c
xen/arch/x86/mm.c
xen/arch/x86/setup.c
xen/include/asm-x86/mm.h

index 983fc01b281c44fdb2423fd9baa056d08c708b33..a3ba8cd864bf008bb0a4877ff6ac42474f393100 100644 (file)
@@ -186,7 +186,7 @@ long arch_do_dom0_op(dom0_op_t *op, dom0_op_t *u_dom0_op)
         pi->sockets_per_node = 
             num_online_cpus() / (pi->threads_per_core * pi->cores_per_socket);
         pi->nr_nodes         = 1;
-        pi->total_pages      = max_page;
+        pi->total_pages      = total_pages;
         pi->free_pages       = avail_domheap_pages();
         pi->cpu_khz          = cpu_khz;
         memset(pi->hw_cap, 0, sizeof(pi->hw_cap));
index 26697cd9ce430e33acdda448c5361f402e6b9fe9..96908204b40be400e4f849e0390f8c5c3db8ac29 100644 (file)
@@ -147,6 +147,7 @@ static struct domain *dom_xen, *dom_io;
 /* Frame table and its size in pages. */
 struct pfn_info *frame_table;
 unsigned long max_page;
+unsigned long total_pages;
 
 void __init init_frametable(void)
 {
index b955b7d8e4cf6207c44b2f67d7fff46e66a22f7f..f070b6303ef492e1b5ced4b47a89931b9d5c4104 100644 (file)
@@ -418,6 +418,7 @@ void __init __start_xen(multiboot_info_t *mbi)
     printk("System RAM: %luMB (%lukB)\n", 
            nr_pages >> (20 - PAGE_SHIFT),
            nr_pages << (PAGE_SHIFT - 10));
+    total_pages = nr_pages;
 
     init_frametable();
 
index c98924300e77c8f3fe307c877f0a9b344e749cfa..a68538c0a745db46b12a95990faa6a52316737be 100644 (file)
@@ -156,6 +156,7 @@ static inline u32 pickle_domptr(struct domain *domain)
 
 extern struct pfn_info *frame_table;
 extern unsigned long max_page;
+extern unsigned long total_pages;
 void init_frametable(void);
 
 int alloc_page_type(struct pfn_info *page, unsigned long type);